import { FormItemType } from "@/components/GuatForm/types";
import GuatRolePermissionTree from "./components/GuatRolePermissionTree.vue";

export const createMemberForm = (): FormItemType[] => [
  {
    label: "姓名",
    field: "userName",
    component: "Input",
    required: true,
  },
  {
    label: "学号",
    field: "userNo",
    component: "Input",
    required: true,
  },
  {
    label: "密码",
    field: "userPsw",
    component: "InputPassword",
    required: true,
  },
  {
    label: "联系方式",
    field: "userTel",
    component: "Input",
    required: true,
  },
  {
    label: "年级",
    field: "userGrade",
    component: "Select",
    required: true,
    col: 8,
  },
  {
    label: "专业",
    field: "userMajar",
    component: "Select",
    required: true,
    col: 8,
  },
  {
    label: "班级",
    field: "userClass",
    component: "Select",
    required: true,
    col: 8,
  },
  {
    label: "状态",
    field: "userStatus",
    component: "Select",
    required: true,
    options: [
      {
        label: "正常",
        value: 1,
      },
      {
        label: "禁止",
        value: 0,
      },
    ],
  },
];

export const createDrawerForm = (): FormItemType[] => [
  {
    label: "姓名",
    field: "userName",
    component: "Input",
  },
  {
    label: "学号",
    field: "userNo",
    component: "Input",
  },
  {
    label: "联系方式",
    field: "userTel",
    component: "Input",
  },
  {
    label: "注册时间",
    field: "userRegisterTime",
    component: "RangePicker",
  },
  {
    label: "性别",
    field: "userGender",
    component: "RadioGroup",
    options: [
      {
        label: "全部",
        value: 0,
      },
      {
        label: "男",
        value: 1,
      },
      {
        label: "女",
        value: 2,
      },
    ],
  },
  {
    label: "状态",
    field: "userStatus",
    component: "RadioGroup",
    options: [
      {
        label: "全部",
        value: 0,
      },
      {
        label: "正常",
        value: 1,
      },
      {
        label: "禁止",
        value: 2,
      },
    ],
  },
  // {
  //   label: "专业班级",
  //   field: "",
  //   content: [
  //     {
  //       label: "年级",
  //       field: "userGrade",
  //       component: "Select",
  //       col: { span: 12 },
  //       formItem: { hideLabel: true },
  //     },
  //     {
  //       label: "专业",
  //       field: "userMajor",
  //       component: "Select",
  //       col: { span: 12 },
  //       formItem: { hideLabel: true },
  //       props: { allowSearch: true },
  //       options: [
  //         {
  //           label: "软件工程",
  //           value: 0,
  //         },
  //         {
  //           label: "物联网工程",
  //           value: 1,
  //         },
  //         {
  //           label: "计算机科学与技术",
  //           value: 2,
  //         },
  //         {
  //           label: "计算机应用",
  //           value: 3,
  //         },
  //       ],
  //     },
  //     {
  //       label: "班级",
  //       field: "userClass",
  //       component: "Select",
  //       col: { span: 12 },
  //       formItem: { hideLabel: true },
  //     },
  //   ],
  // },
  // {
  //   label: "积分范围",
  //   field: "",
  //   onlyItem: true,
  //   content: [
  //     {
  //       label: "下限分值",
  //       field: "point.min",
  //       component: "InputNumber",
  //       col: { span: 11 },
  //       formItem: { hideLabel: true },
  //       props: {
  //         mode: "button",
  //         max: "point.max",
  //       },
  //     },
  //     {
  //       label: "",
  //       field: "",
  //       onlyItem: true,
  //       col: { span: 2 },
  //       formItem: { hideLabel: true, noStyle: true },
  //       render: () => (
  //         <div
  //           style={{
  //             borderTop: "1px solid #9299A3",
  //             margin: "16px 6px 0",
  //           }}
  //         />
  //       ),
  //     },
  //     {
  //       label: "上限分值",
  //       field: "point.max",
  //       component: "InputNumber",
  //       col: { span: 11 },
  //       formItem: { hideLabel: true },
  //       props: {
  //         mode: "button",
  //         min: "point.min",
  //       },
  //     },
  //   ],
  // },
];

export const createRoleForm: FormItemType<{
  roleName: string;
  roleStatus: boolean;
  rolePermissions: any[];
}>[] = [
  {
    label: "角色名称",
    field: "roleName",
    component: "Input",
    required: true,
  },
  {
    label: "是否启用",
    field: "roleStatus",
    component: "Switch",
    required: true,
  },
  {
    label: "角色权限",
    field: "rolePermissions",
    required: true,
    render: (model) => (
      <GuatRolePermissionTree
        checkedKeys={model.value.rolePermissions}
        onUpdate:checkedKeys={(value) => (model.value.rolePermissions = value)}
      />
    ),
  },
];
